package com.hw.dagl.service;

import com.hw.dagl.model.DriverView;
import com.hw.dagl.model.Sys_Role;
import com.hw.dagl.model.Sys_User;
import com.hw.dagl.model.Vehicle;
import com.hw.dao.utils.GcPage;
import com.hw.dao.utils.Page;
import com.hw.dao.utils.PageUtil;

import java.util.List;

public interface YxxxService {
	/** 影像采集**/
	Page<Vehicle> findYxcjxx(Page<Vehicle> pages, Vehicle info,
			String startTime, String endTime);

	Vehicle findYxcjByxhFirstIn(
			Vehicle info, String startTime, String endTime);

	/*GcPage<Vehicle> findYxcjByxhUpAndDown(GcPage<Vehicle> pages, Vehicle info,
			String startTime, String endTime);*/

	List<Vehicle> findYxcjByxh(Vehicle info);
	
	/**
	 * 通过号牌号码查询信息
	 * @param hphm
	 * @return
	 */
	Vehicle queryByHphm(String hphm);
	
	/**
     * 通过驾驶证号码查询信息
     * @param sfz
     * @return
     */
	DriverView queryBySfz(String sfz);


	/** 影像审核*/
	Page<Vehicle> findYxshxx(Page<Vehicle> pages, Vehicle info,
			String startTime, String endTime,Sys_User user);
	
	List<Vehicle> findYxshByxh(Vehicle info);

	GcPage<Vehicle> findYxshByxhUpAndDown(GcPage<Vehicle> pages, Vehicle info,
			String startTime, String endTime);

	boolean updateYxshzt(Vehicle info);

	boolean updateYxcjByxh(String xh,String[] tpurlarray);

	List<Vehicle> queryVehcileLsList(Vehicle info,Sys_Role sysRole);

	List<Vehicle> queryVehicleList(Vehicle info, String startTime, String endTime, PageUtil page);

	Vehicle findYxshByxhFirstIn(Vehicle info, String startTime, String endTime);

	/*DriverView queryDriverBysfzmhm(DriverView info);*/


	//通过xh删除档案信息

	/**
	 *
	 * @param xh
	 * @param bussinessType 1 操作的是机动车的表  2操作的是驾驶证的表
	 * @return
	 */
	int delVehcile(String xh,String lsh,String bussinessType);

	Page<DriverView> findDriverYxcjxx(Page<DriverView> pages, DriverView info, String startTime, String endTime);

	/*GcPage<DriverView> findDriverYxcjFirstIn(GcPage<DriverView> pages, DriverView info, String startTime,
			String endTime);*/

	List<DriverView> findDriverYxcjByxh(DriverView info);

	/*GcPage<DriverView> findDriverYxcjByxhUpAndDown(GcPage<DriverView> pages, DriverView info, String startTime,
			String endTime);*/

	DriverView queryDriverByxh(DriverView info);

	Page<DriverView> finddriverYxshxx(Page<DriverView> pages, DriverView info, String startTime, String endTime,
			Sys_User user);

	/*List<DriverView> queryDriverList(DriverView info, String startTime, String endTime, PageUtil page);*/

	/*DriverView findDriverYxshFirstIn(DriverView info, String startTime, String endTime);*/

	boolean updateDriverYxshzt(DriverView info);

	/*DriverView queryDriverOBjBysfzmhm(DriverView info);*/

	boolean queryVehcileIsNot(String lsh,String xh);
	
	public List<Vehicle> queryVehcileRecodeList(Vehicle info,Sys_Role sysRole);

	Vehicle queryVehcileNotFlowObj(Vehicle info);

	List<Vehicle> queryYwlxList(Vehicle info);

	List<Vehicle> queryYwyyList(Vehicle info);

	List<Vehicle> queryOpertype(String ywlx);

	boolean validateSbxh(String sbxh);

	
	
}
